package org.finesys.ai.service;

import org.finesys.ai.core.chat.ChatCompletionResponse;
import org.finesys.ai.core.image.GenerateImagesResponse;
import org.finesys.ai.dto.ChatImageReq;
import org.finesys.ai.dto.ChatReq;
import org.finesys.ai.entity.AigcModel;
import reactor.core.publisher.Flux;

import java.util.List;

public interface AigcChatService {

    /**
     * 根据请求参数，返回流式聊天结果信息
     */
    Flux<ChatCompletionResponse> chatFluxCompletion(ChatReq chatReq);


    /**
     * 根据请求参数，返回图片生成结果信息
     */
    Flux<GenerateImagesResponse> chatImage(ChatImageReq chatImageReq);

    /**
     * 获取模型信息
     */
    List<AigcModel> models(String provider);
}
